Dosud jsem po proměné požadovali aby měla uspořádání, tedy byla alespoň ordinální. To nám umožnilo definovat medián, kvantily a viualizaci rozloření dat pomocí box-plot. Abychom mohli přejít k aritmetickému průměru a statistikám z něj odvozeným, musíme přejít do vyšší úrovně měření, tedy k proměnným kardinálním poměrovým.

3.1 Momentová míra polohy

Jak již bylo zmíněno, nejznámější statistikou je (aritmetický) průměr označovaný jako \(\bar{x}\) nebo m (mean). Jedná se o statistiku momentovou, ale co to vlastně znamená?

Slovo moment pochází původně z fyziky, kde popisuje situaci na páce - moment síly je součin hmotnosti \(x_i\) a vzdálenosti \(d_i\) od bodu otáčení. Artimetický průměr v této situaci ukazuje na těžiště, tedy když páku podepřeme právě v tomto místě, bude v rovnováze. Hmotnost je ve statistice nahrazena relativní četností \(p_i\), vzdálenost je nahrazena pojmem odchylka od průměru \(d_i\).

(a)
(b)
(c)
Obrázek 3.1

3.2 Momentové míry variability

Pojďme se podívat na to, jak na lze charakterizovat variabilitu dat vzhledem k průměru. Můžeme zjistit, jak daleko od průměru jsou jednotlivé body a získáme odchylky jednotlivých hodnot od průměru, \(e_i=x_i-\bar{x}\). Naším zájmem je získat průměrnou odchylku, což vypadá snadno: sečteme všechny odchylky a vydělíme počtem. Jenže (!) problém je ten, že když je sečteme, dostaneme vždy nulu.

\[\begin{align} \sum(e_i) &= \sum(x_i-\bar{x}) \\ &= (x_1-\bar{x}) + (x_2-\bar{x})+\dots \\ &= x_1+x_2+\dots -(\bar{x}+\bar{x}+\dots) \\ &= \sum x_i-\sum \bar{x} \\ &= \sum x_i-n\cdot \bar{x} \\ &=\sum x_i-n\cdot \frac{\sum x_i}{n} \\ &=0 \end{align}\]

Poznámka

To že součet odchylek je nulový ukazuje na to, že se opravdu jedná o těžiště: součet odchylek záporných = součet odchylek kladných, žádná strana není zvýhodněna.

Abychom získali průměrnou odchylku můžeme buď použít absolutní hodnoty a získat tak hodnotu zvanou mean absolute deviance, MAD : \(MAD=\frac{\sum |x_i-\bar{x}|}{n}\), Nebo spočítat nejprve kvadratické odchylky \((x_i-\bar{x})^2\), určit průměrnou kvadratickou odchylku \(\frac{\sum (x_i-\bar{x})^2}{n}\) a poté ji odmocnit. Získáme tím hodnotu které se říká směrodatná odchylka a značí se symbolem sd (standard deviation)

\[ sd=\sqrt{\frac{\sum (x_i-\bar{x})^2}{n}} \]

Koncept směrodatné odchylky lze získat také jinou, geometrickou cestou. Pro zájemce ji zde uvedeme.

Abychom mohli vizualizovat potřebujeme jednodušší příklad: mějme dvě domácnosti, kteří omají počet vozidel v rozsahu 0-10. Na ose x budeme mít počet u první domácnosti, na ose y druhé. V defaultím nastavení má první 7 vozidel, druhá 3 vozidla, což reprezentuje modrý bod, který má souřadice [7,3]. Pro lepší vyjádření použijeme vektorovou formu zápisu, která je bližší i sloupcům v tabulce dat \(\mathbf{x}=\begin{pmatrix} x_1\\ x_2\end{pmatrix}=\begin{pmatrix} 7\\ 3\end{pmatrix}\)

Naším zájmem je nalézt jedno číslo, které charakterizuje naše data. Fakticky tedy řešíme soustavy rovnic

\[\begin{align} x_1&=c\\ x_2&=c\end{align}\]

Tato soustava však v praktických situacích nemá řešení. Zkusme se však na situaci podívat pohledem geometrie:

\[\begin{align} x_1&=c \\ x_2&=c \end{align}\]

\[ \Longrightarrow \begin{pmatrix} x_1\\x_2 \end{pmatrix} =c \cdot \begin{pmatrix} 1 \\ 1 \end{pmatrix} \Longrightarrow \mathbf{ x}=c \cdot\mathbf{1} \]

Na levé straně máme vektor dat, na pravé straně neznámý násobek vektoru jedničkového.

Na přímce dané jedničkovým vektorem tedy hledáme takové c, aby výsledný vektor byl co nejblíže vektoru našich dat.

Provedeme lineárně algebraické úpravy rovnice
\[\begin{align} c \cdot\mathbf{1} &=\mathbf{x} \\ c \cdot\mathbf{1}^T \mathbf{1} &=\mathbf{1}^T\mathbf{x} \\ c &= (\mathbf{1}^T \mathbf{1})^{-1}\mathbf{1}^T\mathbf{x} \end{align}\]

V našem případě však

\[\begin{align} \mathbf{1}^T \mathbf{1} &= (1,1) \cdot \begin{pmatrix} 1 \\ 1 \end{pmatrix} = 2 \\ \mathbf{1}^T\mathbf{x} &= (1,1) \cdot \begin{pmatrix} x_1\\x_2 \end{pmatrix} =\sum x_i\\ c &= (\mathbf{1}^T \mathbf{1})^{-1} \cdot \mathbf{1}^T\mathbf{x}\\ &= 2^{-1} \cdot \sum x_i\\ &= \frac{\sum x_i}{2} \\ &= \bar{x} \end{align}\]

Aritmetický průměr tedy popisuje nejbliší bod na přímce 1 od bodu našich dat x.

Můžeme tedy sestrojit vektor odchylek našich dat od vektoru průměru

\[ \mathbf{e}=\mathbf{x}-\bar{x}\mathbf{1}=\begin{pmatrix} 7\\3\end{pmatrix}-5\begin{pmatrix}1\\ 1\end{pmatrix}=\begin{pmatrix} 2\\ -2\end{pmatrix} \]

Vektor \(\mathbf{x}\) je tedy rozložen do vektoru do směru vektoru \(\mathbf{1}\) a směru kolmého, takže platí vektorově

\[\mathbf{x}=\bar{x}\mathbf{1}+\mathbf{e}\]

Vektor dat jsme rozložili na dvě složky, složku průměru a složku odchylek.

Zaměřme se na velikosti těchto vektorů:Pomocí Pythogorovy věty dostáváme rovnici

\[\|\mathbf{x}\|^2 = \|\mathbf{\bar{x}}\|^2 + \|\mathbf{e}\|^2\]

Víme, že \(\|\mathbf{x}\|=\sqrt{x_1^2+x_2^2}\), proto pro nás bude výhodnější zůstat u druhých mocnin. Můžeme vyjádřit \(\|\mathbf{e}\|^2\) ve tvaru

\[\begin{align} \|\mathbf{e}\|^2 &=e_1^2+e_2^2\\ &=(x_1-\bar{x})^2+(x_2-\bar{x})^2\\ &=\sum (x_i-\bar{x})^2, \end{align}\]

nebo ve tvaru

\[\begin{align} \|\mathbf{e}\|^2 &=\|\mathbf{x}\|^2 - \|\mathbf{\bar{x}}\|^2 &=(x_1^2+x_2^2)-(\bar{x}^2+\bar{x}^2) &=\sum x_i^2-n\cdot\bar{x}^2 \end{align}\]

\(\|\mathbf{e}\|^2\) vyjadřuje celkovou odchylku dat od vekotru průměrů, přepočítáno na jedno pozorování dostaneme veličiny zvanou rozptyl a označovanou jako \(var\) nebo \(\sigma^2\) a která se tedy rovná \(= \frac{\|\mathbf{e}\|^2}{n}\)

\[ var=\sigma^2 = \frac{\sum (x_i - \bar{x})^2}{n} \]

Protože tohle je velikost na druhou, “průměrnou odchylku” získáme jako odmocninu z rozptylu

\[ sd=\sqrt{\frac{\sum (x_i - \bar{x})^2}{n}} \]

3.3 Momentové míry tvaru rozdělení

Připomeňme, že základním nástrojem vizualizace kardinálních dat je histogram. Tvarem rozdělení tedy rozumíme tvar histogramu - jestli je symetrický, zešikmený , vodorovný, \(\dots\) .

Kód
data02 = {
  let v;
  const n = 500;
  if (distType02 === "Normální") {
    v = Array.from({length: n}, d3.randomNormal(0, 1));
  } else if (distType02 === "Zešikmené") {
    // Log-normální rozdělení je přirozeně zešikmené
    v = Array.from({length: n}, d3.randomLogNormal(0, 0.5));
  } else if (distType02 === "Uniformní") {
    v = Array.from({length: n}, d3.randomUniform(-2, 2));
  }
  return v.map(d => ({val: d}));
}

// 2. Ovládací prvky
viewof distType02 = Inputs.select(
  ["Normální", "Zešikmené", "Uniformní"], 
  {label: "Typ rozdělení"}
)

viewof binCount = Inputs.range([2, 200], {value: 20, step: 1, label: "Počet bins"})

// 3. Graf
Plot.plot({
  height: 400,
  grid: true,
  marks: [
    // Histogram (Density)
    Plot.rectY(data02, Plot.binX({y: "count"}, {x: "val", thresholds: binCount, fill: "steelblue", fillOpacity: 0.7})),
    
  // dodgeY vytvoří "mrak" bodů, anchor: "bottom" je drží u spodní hrany
    Plot.dot(data02, Plot.dodgeY({
      x: "val", 
      anchor: "bottom", 
      padding: 0.5, // Tímto zvětšuješ/zmenšuješ rozestupy mezi body
      r: 2, 
      fill: "black",
      fillOpacity: 0.4
    })),
    
    Plot.ruleY([0])
  ],
  y: {
    label: "Četnost / Hustota",
    tickFormat: "d"
  },
  x: {
    label: "Hodnota x"
  }
})

3.3.1 šikmost

Jak číselně odlišit data, tkerá jsou symetrická od dat, která symetrická nejsou? Pokud využijeme odchylky, pak musíme zdůraznit větší odchylky a potlačit malé odchylky, a zároveň zachovat znaménko odchylky. Abychom získali míru která je nezávislá na poloze a variabilitě konkrétních dat, musíme data nejprve standardizovat, tedy převést na

\[z_i=\frac{(x_i-\bar{x})}{sd}\]

Proměnná \(z\) má průměr nula a směrodatnou odchylku jedna nezávisle na tom, z jakých dat pochází (viz kapitola o aritmetice dat). hodnota \(z_i\) naám tak přímo ukazuje standardizovanou odchylku dat od průměru. Pro zjištění zešikmení využijeme třetí mocninu - ta potlačuje hodnoty menší než \(|x_i|<1\) ,zvýrazňuje hodnoty \(|x_i|>1\) a přitom zachovává stejné znaménko, takže budeme umět rozlišit, zda jsou data zešikmená napravo nebo nalevo. Šikmost (skewness, skew) tedy počítáme pomocí vzorce

\[ skew(X)=\frac{\sum z_i^3}{n} \]

Když je skew záporné znamená to, že větší odchylky jsou vlevo a datsa jsou nahuštěná vpravo, když je šikmost kladná, znamená to že větší odchylky jsou doprava a data jsou nahuštěná vlevo. skew kolem hodnoty 0 znamená symetrické rozdělení

Obrázek 3.2: Vztah mezi šikmostí průměrem, mediánem a tvarem distribuce.

3.3.2 Špičatost

Jak číselně odlišit data, která mají většinu hodnot blízko průměru od hodnot, která mají rozprostření dat volnější a vzdálenější hodnoty nejsou vyjímkou (heavy tails, těžké ocasy)? Protože zešikmení máme popsané pomocí skew, nezáleží nám nyní na směru ochylky, musíme však velmi zvýraznit odlehlé hodnoty. K tomu nám poslouží čtvrtá mocnina \(z\), pomocí které určujeme špičatost (kurtoisis, kurt), kterou určíme pomocí vzorce

\[ kurt(X) = \frac{\sum z_i^4}{n} \]

Protože se jako základní distribuce bere normální, gaussova, zvonová která má \(kurt=3\), uvádí se často vzorec pro excess kurtosis \(kurt_{excess}=\frac{\sum z_i^4}{n}-3\) který pak lze intepretovat jako odchýlení špičatosti od normálního rozdělení. Podrobněji o normálním rozdělení viz samostatná kapitola.

Následující graf ukazuje vliv velikosti odchylek na jejich “příspěvek” do průměru, rozptylu, šikmosti a špičatosti. Na ose x je hodnota \(z\), na jednotlivých křivkách velikosti \(|z|,z^2,z^3,z^4\), které tvoří příspěvek do příslušných momentových metrik.

Pro \(k={2,3,4}\) platí: \(|z_i|<1\Longrightarrow |z_i|^k<|z_i|\), takže jejich vliv je potlačen. Pro hodnoty \(|z_i|>1\Longrightarrow |z_i|^k > |z_i|\), takže jejich vliv je výrazně posílen.

Obrázek 3.3: Vliv vzdálenosti od průměru na velikost započítávané hodnoty do momentových charakteristik mad, sd, skew a kurt. Osa \(x\) obsahuje standardizovaná data \(z_i\), osa y transformovaná data \(z_i^k\) pro všechny čtyři momentové charakteristiky.

A jak to konkrétně vypadá pro různě rozprostřená data ukazuje následující graf. Pro \(k={2,3,4}\) platí: \(|z_i|<1\Longrightarrow |z_i|^k<|z_i|\), takže jejich vliv je potlačen. V následujícím grafu jsou to data v modře podsvícené oblasti. Pro hodnoty \(|z_i|>1\Longrightarrow |z_i|^k > |z_i|\), takže jejich vliv je výrazně posílen.

Obrázek 3.4: Momentové charakteristiky různých rozdělení. Osa \(x\) obsahuje standardizovaná data \(z_i\), osa y transformovaná data \(z_i^k\) a jejich průměr. Modrá oblast je oblast útlumu, data z této oblasti mají potlačený vliv a data mimo naopak posílený.

Klíčové poznatky

průměr \(\bar{x}=\frac{\sum x_i}{n}\)
směrodatná odchylka \(sd=\sqrt{\frac{1}{n}\sum (x_i - \bar{x})^2}=\sqrt{var}\)
rozptyl \(var=\frac{1}{n}\sum (x_i - \bar{x})^2=sd^2\)
standardizace \(z_i=\frac{x_i - \bar{x}}{sd}\)
šikmost \(skew=\frac{1}{n}\sum z_i^3\)
špičatost \(kurt=\frac{1}{n}\sum z_i^4\), nebo \(kurt_{excess}=\frac{1}{n}\sum z_i^4-3\)